/*
 * $Id: AbstractCfgSchedulerTask.java,v 1.6 2009/07/24 18:27:42 oliver Exp $
 *
 * Copyright (C) 2006 General Electric Company. All Rights Reserved.
 *
 * This software is the confidential and proprietary information of the General
 * Electric Company (GE). You shall not disclose this software and shall use it
 * only in accordance with the terms of the license agreement you entered into
 * with GE.
 *
 * GE MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
 * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
 * NON-INFRINGEMENT. GE SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE
 * AS A RESULT OF USING, MODIFYING, OR DISTRIBUTING THIS SOFTWARE OR ITS
 * DERIVATIVES.
 */

/*
 * WARNING: DO NOT EDIT THIS FILE. This is a generated file that is synchronized
 * by MyEclipse Hibernate tool integration.
 *
 * Created Thu Jan 15 08:35:57 CST 2009 by MyEclipse Hibernate Tool.
 */
package com.ge.healthcare.autosc.common.database.pojo;

import java.io.Serializable;

/**
 * A class that represents a row in the CFG_SCHEDULER_TASK table. 
 * You can customize the behavior of this class by editing the class, {@link CfgSchedulerTask()}.
 * WARNING: DO NOT EDIT THIS FILE. This is a generated file that is synchronized
 * by MyEclipse Hibernate tool integration.
 */
public abstract class AbstractCfgSchedulerTask 
    implements Serializable
{
    /**
	 * Eclipse generated
	 */
	private static final long serialVersionUID = -7193464355779600932L;

	/** The cached hash code value for this instance.  Settting to 0 triggers re-calculation. */
    private int hashValue = 0;

    /** The composite primary key value. */
    private java.lang.Long schedulerTaskId;

    /** The value of the simple taskName property. */
    private java.lang.String taskName;

    /** The value of the simple taskDescription property. */
    private java.lang.String taskDescription;

    /** The value of the simple runIntervalInMsec property. */
    private java.lang.Long runIntervalInMsec;

    /** The value of the simple taskClass property. */
    private java.lang.String taskClass;

    /** The value of the simple maxRetry property. */
    private java.lang.Long maxRetry;

    /**
     * Simple constructor of AbstractCfgSchedulerTask instances.
     */
    public AbstractCfgSchedulerTask()
    {
    }

    /**
     * Constructor of AbstractCfgSchedulerTask instances given a simple primary key.
     * @param schedulerTaskId
     */
    public AbstractCfgSchedulerTask(java.lang.Long schedulerTaskId)
    {
        this.setSchedulerTaskId(schedulerTaskId);
    }

    /**
     * Return the simple primary key value that identifies this object.
     * @return java.lang.Long
     */
    public java.lang.Long getSchedulerTaskId()
    {
        return schedulerTaskId;
    }

    /**
     * Set the simple primary key value that identifies this object.
     * @param schedulerTaskId
     */
    public void setSchedulerTaskId(java.lang.Long schedulerTaskId)
    {
        this.hashValue = 0;
        this.schedulerTaskId = schedulerTaskId;
    }

    /**
     * Return the value of the TASK_NAME column.
     * @return java.lang.String
     */
    public java.lang.String getTaskName()
    {
        return this.taskName;
    }

    /**
     * Set the value of the TASK_NAME column.
     * @param taskName
     */
    public void setTaskName(java.lang.String taskName)
    {
        this.taskName = taskName;
    }

    /**
     * Return the value of the TASK_DESCRIPTION column.
     * @return java.lang.String
     */
    public java.lang.String getTaskDescription()
    {
        return this.taskDescription;
    }

    /**
     * Set the value of the TASK_DESCRIPTION column.
     * @param taskDescription
     */
    public void setTaskDescription(java.lang.String taskDescription)
    {
        this.taskDescription = taskDescription;
    }

    /**
     * Return the value of the RUN_INTERVAL_IN_MSEC column.
     * @return java.lang.Long
     */
    public java.lang.Long getRunIntervalInMsec()
    {
        return this.runIntervalInMsec;
    }

    /**
     * Set the value of the RUN_INTERVAL_IN_MSEC column.
     * @param runIntervalInMsec
     */
    public void setRunIntervalInMsec(java.lang.Long runIntervalInMsec)
    {
        this.runIntervalInMsec = runIntervalInMsec;
    }

    /**
     * Return the value of the TASK_CLASS column.
     * @return java.lang.String
     */
    public java.lang.String getTaskClass()
    {
        return this.taskClass;
    }

    /**
     * Set the value of the TASK_CLASS column.
     * @param taskClass
     */
    public void setTaskClass(java.lang.String taskClass)
    {
        this.taskClass = taskClass;
    }

    /**
     * Return the value of the MAX_RETRY column.
     * @return java.lang.Long
     */
    public java.lang.Long getMaxRetry()
    {
        return this.maxRetry;
    }

    /**
     * Set the value of the MAX_RETRY column.
     * @param maxRetry
     */
    public void setMaxRetry(java.lang.Long maxRetry)
    {
        this.maxRetry = maxRetry;
    }

    /**
     * Implementation of the equals comparison on the basis of equality of the primary key values.
     * @param rhs
     * @return boolean
     */
    public boolean equals(Object rhs)
    {
        if (rhs == null)
            return false;
        if (! (rhs instanceof CfgSchedulerTask))
            return false;
        CfgSchedulerTask that = (CfgSchedulerTask) rhs;
        if (this.getSchedulerTaskId() == null || that.getSchedulerTaskId() == null)
            return false;
        return (this.getSchedulerTaskId().equals(that.getSchedulerTaskId()));
    }

    /**
     * Implementation of the hashCode method conforming to the Bloch pattern with
     * the exception of array properties (these are very unlikely primary key types).
     * @return int
     */
    public int hashCode()
    {
        if (this.hashValue == 0)
        {
            int result = 17;
            int schedulerTaskIdValue = this.getSchedulerTaskId() == null ? 0 : this.getSchedulerTaskId().hashCode();
            result = result * 37 + schedulerTaskIdValue;
            this.hashValue = result;
        }
        return this.hashValue;
    }
}
